package cn.com.oil.common.handler;

import cn.com.oil.common.enums.ResultCode;
import cn.com.oil.common.result.Result;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

@ControllerAdvice
public class GlobalExceptionHandler {

    // 处理所有Exception异常
    @ExceptionHandler(Exception.class)
    public Result<String> handleException(Exception e) {
        // 这里可以记录日志，或者进行更复杂的异常处理
        return Result.result(Boolean.FALSE, ResultCode.INTERNAL_SERVER_ERROR, e.getMessage());
    }

    // 处理特定的自定义异常
    @ExceptionHandler(CustomException.class)
    public Result<String> handleCustomException(CustomException e) {
        // 这里可以记录日志，或者进行更复杂的异常处理
        return Result.fail(e.getMessage());
    }

    // 根据需要可以添加更多的异常处理方法
}

// 自定义异常类
class CustomException extends RuntimeException {
    public CustomException(String message) {
        super(message);
    }
}
